package com.ruoyi.service.minio.impl;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.domain.minio.MinioItem;
import com.ruoyi.mapper.minio.MinioMapper;
import com.ruoyi.service.minio.MinioService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @Author lz
 * @Version 1.0
 * @Company 滁州学院-计算机与信息工程学院
 * @ClassName MinioServiceImpl
 * @Description TODO
 * @Date 2022/06/22 8:24
 */
@Service
public class MinioServiceImpl implements MinioService {

    protected final Logger logger = LoggerFactory.getLogger(this.getClass());

   @Resource
   private MinioMapper minioMapper;


    /**
     * 根据文件名判断文件是否已经存在
     * @return 文件数量
     */
    @Override
    public int hasFileExist(String fileName) {
        return minioMapper.hasFileExist(fileName);
    }

    /**
     * 新增文件上传信息
     * @param minioItem 文件信息
     * @return 受影响的行数
     */
    @Override
    public int appendFileInfo(MinioItem minioItem) {

        // 判断判断文件名是否已经存在
        int res = hasFileExist(minioItem.getFileName());
        if (res > 0) {
            logger.error("文件名已经存在！========> {}", minioItem.getFileName());
            return -2;
        }

        return minioMapper.appendFileInfo(minioItem);
    }


    /**
     * 根据文件id删除文件信息
     * @param ids 文件id
     * @return 受影响的行数
     */
    @Override
    public int deleteFileInfoById(long[] ids) {
        logger.info("要删除的文件id[] ========> {}", ids);
        return minioMapper.deleteFileInfoById(ids);
    }


    /**
     * 根据文件id更新
     * @param minioItem 文件信息
     * @return 受影响的行数
     */
    @Override
    public int updateFileInfoById(MinioItem minioItem) {
        logger.info("要更新的文件信息 ==============> {}", minioItem);
        return minioMapper.updateFileInfoById(minioItem);
    }
}
